;=====================================================
;     Modules
;=====================================================

;;;;;;;;;;;;;;;
;;   Jgmenu  ;;
;;;;;;;;;;;;;;;
[module/jgmenu]
type = custom/script
label = %output%
label-padding = 2
interval = 10
exec = echo ""
click-left = "jgmenu_run >/dev/null 2>&1 &"
click-right = exo-open $HOME/.config/jgmenu/jgmenurc


;;;;;;;;;;;;;;;;;;;;;;;;
;; Openbox Workspaces ;;
;;;;;;;;;;;;;;;;;;;;;;;;
[module/workspaces]
type = internal/xworkspaces
pin-workspaces = false
enable-click = true
enable-scroll = true
format-padding = 0
icon-0 = 1;
icon-1 = 2;
icon-2 = 3;
icon-3 = 4;
icon-4 = 5;
icon-5 = 6;
icon-6 = 7;
icon-7 = 8;
icon-8 = 9;
icon-9 = 10;
icon-default =
format = <label-state>
label-active = %icon% %name%
label-occupied = %icon% %name%
label-urgent = %icon% %name%
label-empty = %icon% %name%
label-occupied-padding = 1
label-empty-padding = 1
label-urgent-padding = 1
label-active-padding = 1
label-active-foreground = ${colors.blue}
label-active-underline = ${colors.blue}
label-occupied-underline = ${colors.blue}
label-urgent-foreground = ${colors.urgent}
label-urgent-underline = ${colors.urgent}
label-empty-foreground = ${colors.foreground}


;;;;;;;;;;;;;;;;;;;
;; i3 Workspaces ;;
;;;;;;;;;;;;;;;;;;;
[module/i3]
type = internal/i3
pin-workspaces = true
strip-wsnumbers = true
index-sort = true
enable-click = true
fuzzy-match = true
ws-icon-default = 
format = <label-state><label-mode>
label-mode = %mode%
label-mode-padding = 2
label-focused = %index% %name%
label-focused-padding = 2
label-unfocused = %index% %name%
label-unfocused-padding = 2
label-visible = %index% %name%
label-visible-padding = 2
label-urgent = %index% %name%
label-urgent-padding = 2
label-mode-underline = ${colors.urgent}
label-focused-underline = ${colors.trim}
label-visible-underline = ${colors.trim}
label-urgent-underline = ${colors.urgent}


;;;;;;;;;;;;;;;;;;;;
;;Bspwm Workspaces;;
;;;;;;;;;;;;;;;;;;;;
[module/bspwm]
type = internal/bspwm
pin-workspaces = true
inline-mode = false
enable-click = true
enable-scroll = false
reverse-scroll = false
fuzzy-match = false
; ws-icon-[0-9]+ = label;icon
; Note that the label needs to correspond with the bspwm workspace name
ws-icon-0 = I;
ws-icon-1 = II;
ws-icon-2 = III;
ws-icon-3 = IV;
ws-icon-4 = V;
ws-icon-5 = VI;
ws-icon-6 = VII;
ws-icon-7 = VIII;
ws-icon-8 = IX;
ws-icon-9 = X;
;ws-icon-default = ♟
format = <label-state> <label-mode>
label-monitor = %name%
label-mode-padding = 1
label-focused = %icon% %name%
label-focused-padding = 1
label-occupied = %icon% %name%
label-occupied-padding = 1
label-urgent = %icon% %name%
label-urgent-padding = 1
label-empty = %icon% %name%
label-empty-padding = 1
label-dimmed-foreground = ${colors.purple}
label-dimmed-underline = ${colors.purple}
label-dimmed-focused-background = ${colors.purple}
label-focused-foreground = ${colors.blue}
label-focused-underline = ${colors.blue}
label-occupied-underline = ${colors.purple}
label-urgent-foreground = ${colors.urgent}
label-urgent-underline = ${colors.urgent}
; The following labels will be used to indicate the layout/mode
; for the focused workspace. Requires <label-mode>
label-monocle = 
label-tiled = 
label-fullscreen = 
label-floating = 
label-pseudotiled = P
label-locked = 
label-sticky = 
label-private = 
label-sticky-foreground = ${colors.purple}
label-locked-foreground = ${colors.yellow}
label-private-foreground = ${colors.urgent}

[module/beta]
type = internal/bspwm

pin-workspaces = true

ws-icon-0 = web;
ws-icon-1 = term;
ws-icon-2 = code;
ws-icon-3 = chat;
ws-icon-4 = music;
ws-icon-default = 

format = <label-state> <label-mode>
label-mode = %mode%
label-mode-padding = 2

;label-monitor = %name%
label-focused = %icon%
label-focused-background = #88000000
label-focused-underline= #ddd
label-focused-padding = 2

label-occupied = %icon%
label-occupied-padding = 2

label-urgent = %icon%
label-urgent-padding = 2

label-empty = %icon%
label-empty-foreground = #44ffffff
label-empty-padding = 2

; The following labels will be used to indicate the layout/mode
; for the focused workspace. Requires <label-mode>
label-monocle = 
; Disabled the showing of default tiling icon because it never goes away
; and it nots spaced correctly when the other modes are active.
;label-tiled = 
label-fullscreen = 
label-floating = 
label-pseudotiled = P
label-locked = 
label-sticky = 
label-private = 
label-sticky-foreground = ${colors.purple}
label-locked-foreground = ${colors.yellow}
label-private-foreground = ${colors.urgent}

[module/xwindow]
type = internal/xwindow
label = %title:0:30:...%
label-padding = 2


[module/dot-bspwm]
type = internal/bspwm
pin-workspaces = true
inline-mode = false
enable-click = true
enable-scroll = false
reverse-scroll = false
fuzzy-match = false
ws-icon-default =
format = <label-state>|<label-mode>
label-monitor = %name%
label-mode-padding = 1
label-focused =%{O0}
;label-focused-padding = 1
label-occupied =%{O0}
;label-occupied-padding = 1
label-urgent = %{O0}
;label-urgent-padding = 1
label-empty =%{O0}
;label-empty-padding = 1
label-dimmed-foreground = ${colors.purple}
label-dimmed-focused-background = ${colors.purple}
label-focused-foreground = ${colors.red}
label-occupied-foreground = ${colors.red}
label-urgent-foreground = ${colors.red}
; The following labels will be used to indicate the layout/mode
; for the focused workspace. Requires <label-mode>
label-monocle = 
label-tiled = 
label-fullscreen = 
label-floating = 
label-pseudotiled = P
label-locked = 
label-sticky = 
label-private = 
label-sticky-foreground = ${colors.purple}
label-locked-foreground = ${colors.yellow}
label-private-foreground = ${colors.urgent}

;;;;;;;;;;;;;
;; Network ;;
;;;;;;;;;;;;;
[module/network]
type = custom/script
exec = ~/.config/polybar/scripts/check-network
click-left = networkmanager_dmenu &
click-right = networkmanager_dmenu &
label-padding = 1
tail = true


[module/dot-wired-network]
type = internal/network
interface = eno1
click-left = networkmanager_dmenu &
click-right = networkmanager_dmenu &
label-padding = 0
tail = true
format-connected = <label-connected>
label-connected = i
format-disconnected = 
label-connected-foreground = ${colors.red}

[module/dot-wireless-network]
type = internal/network
interface = wlo1
click-left = networkmanager_dmenu &
click-right = networkmanager_dmenu &
label-padding = 1
tail = true
; Available tags:
;   <label-connected> (default)
;   <ramp-signal>
format-connected = <ramp-signal>

; Available tags:
;   <label-disconnected> (default)
format-disconnected = <label-disconnected>

; Available tags:
;   <label-connected> (default)
;   <label-packetloss>
;   <animation-packetloss>
;format-packetloss = <animation-packetloss> <label-connected>

; Available tokens:
;   %ifname%    [wireless+wired]
;   %local_ip%  [wireless+wired]
;   %essid%     [wireless]
;   %signal%    [wireless]
;   %upspeed%   [wireless+wired]
;   %downspeed% [wireless+wired]
;   %linkspeed% [wired]
; Default: %ifname% %local_ip%
;label-connected = %essid% %downspeed:9%
;label-connected-foreground = #eefafafa

; Available tokens:
;   %ifname%    [wireless+wired]
; Default: (none)
label-disconnected = 
label-disconnected-foreground = ${colors.grey}

; Available tokens:
;   %ifname%    [wireless+wired]
;   %local_ip%  [wireless+wired]
;   %essid%     [wireless]
;   %signal%    [wireless]
;   %linkspeed% [wired]
; Default: (none)
;label-packetloss = %essid%
;label-packetloss-foreground = #eefafafa

; Only applies if <ramp-signal> is used
ramp-signal-0 = 
ramp-signal-1 = 
ramp-signal-2 = 
ramp-signal-3 = 
ramp-signal-4 = 
ramp-signal-5 = 
ramp-signal-foreground = ${colors.red}
;;;;;;;;;;;;;;;;;;;
;; Window Switch ;;
;;;;;;;;;;;;;;;;;;;
[module/window_switch]
type = custom/script
interval = 5
label = %output%
click-left = skippy-xd
click-right = skippy-xd
exec = echo "  "
format = <label>


;;;;;;;;;
;; CPU ;;
;;;;;;;;;
[module/coreuse]
type = internal/cpu
interval = 1
format-padding = 1
format = <label><ramp-coreload>
label = %{A1:alacritty -e top & disown:} %percentage%% %{A}
ramp-coreload-0 = ▂
ramp-coreload-1 = ▃
ramp-coreload-2 = ▄
ramp-coreload-3 = ▅
ramp-coreload-4 = ▆
ramp-coreload-5 = ▇
;ramp-coreload-0-foreground = ${colors.foreground}
;ramp-coreload-1-foreground = ${colors.foreground}
ramp-coreload-0-foreground = ${colors.green}
ramp-coreload-1-foreground = ${colors.green}
ramp-coreload-2-foreground = ${colors.yellow}
ramp-coreload-3-foreground = ${colors.yellow}
ramp-coreload-4-foreground = ${colors.urgent}
ramp-coreload-5-foreground = ${colors.urgent}
format-prefix-foreground = ${colors.cyan}
label-foreground = ${colors.cyan}
;format-prefix = ""


;;;;;;;;;
;; MEM ;;
;;;;;;;;;
[module/memory]
type = internal/memory
interval = 3
format = <label>
label-padding = 1
label = %{A1:alacritty --e htop & disown:} %percentage_used%%%{A}
label-foreground = ${colors.blue}
label-prefix-foreground = ${colors.blue}
; below if optional ? using this icon replicates it
;format-prefix = ""


;;;;;;;;;
;; PKG ;;
;;;;;;;;;
[module/pkg]
type = custom/script
#exec = updates.sh
exec = ~/.config/polybar/scripts/check-updates
exec-if = "ping -q -w 2 -c 1 176.34.135.167 > /dev/null"
label = %{A1:termite --exec=pacli & disown:} %{A3:termite --exec=pacli & disown:}%output%%{A} %{A}
tail = true


;;;;;;;;;;;
;; Clock ;;
;;;;;;;;;;;
[module/clock]
type = internal/date
format = <label>
lebel-padding = 1
interval = 5
time = %R
label = %{A1:gnome-calendar & disown:} %{A3:gnome-calendar & disown:} %time%%{A} %{A}

[module/dot-clock]
type = internal/date
format = <label>
label-padding = 0
interval = 5
time =%R
label = %{A1:gnome-calendar & disown:}%{A3:gnome-calendar & disown:}%{F#E24125}%{F-}%time%%{A}%{A}

;;;;;;;;;;;;;;;;;
;; TEMPERATURE ;;
;;;;;;;;;;;;;;;;;
[module/temperature]
type = internal/temperature
interval = 3
thermal-zone = 0
base-temperature = 40
warn-temperature = 80
format = <ramp><label>
format-padding = 1
label = %{A1:alacritty -e watch sensors & disown:} %temperature-c%%{A}
ramp-0 = ""
ramp-1 = ""
ramp-2 = ""
ramp-3 = ""
ramp-0-foreground = ${colors.blue}
ramp-1-foreground = ${colors.pink}
ramp-2-foreground = ${colors.purple}
ramp-3-foreground = ${colors.urgent}
format-warn = <label-warn>
label-warn = " %temperature-c%"
label-warn-padding = 1
label-warn-foreground = ${colors.urgent}
;label-foreground = ${colors.green}
;ramp-foreground = ${colors.green}


;;;;;;;;;;;;
;; Volume ;;
;;;;;;;;;;;;
[module/volume]
type = internal/alsa
master-mixer = Master
format-volume-padding   = 1
label-volume-foreground = ${colors.foreground}
label-volume  = %{A3:pavucontrol & disown:}%percentage%% %{A}
format-volume = <ramp-volume> <label-volume>
label-muted   = " muted "
ramp-volume-0 = 
ramp-volume-1 = 
ramp-volume-2 = 
ramp-volume-3 = 
label-muted-foreground   = #888
ramp-volume-0-foreground = ${colors.foreground}
ramp-volume-1-foreground = ${colors.blue}
ramp-volume-2-foreground = ${colors.orange}
ramp-volume-3-foreground = ${colors.urgent}

[module/dot-volume]
type = internal/volume
master-mixer = Master
format-volume-padding   = 0 
label-volume-foreground = ${colors.foreground}
label-volume  = %{A3:pavucontrol & disown:}%percentage%%%{A}
format-volume = <ramp-volume><label-volume>
label-muted   = "%{F#E24125}%{F-}%percentage%%"
label-muted-foreground = ${colors.red}
ramp-volume-0 = 
ramp-volume-1 = 
ramp-volume-2 = 
ramp-volume-3 = 
ramp-volume-foreground = ${colors.red}


;;;;;;;;;;;;;
;; BATTERY ;;
;;;;;;;;;;;;;
[module/battery]
type = internal/battery
; Use $ ls -1 /sys/class/power_supply/
battery = BAT0
adapter = AC
full-at = 96 
poll-interval = 120
time-format = %H:%M

;format-charging    = <animation-charging> <label-charging>
format-charging    =   <label-charging>
;format-discharging = <ramp-capacity> <label-discharging>
format-discharging =  <label-discharging>
;format-full        = <ramp-capacity> <label-full>
format-full        =  <label-full>

ramp-capacity-0 = 
ramp-capacity-1 = 
ramp-capacity-2 = 
ramp-capacity-3 = 
ramp-capacity-4 = 
ramp-capacity-0-foreground = ${colors.urgent}
ramp-capacity-1-foreground = #ffa900
ramp-capacity-foreground   = ${colors.blue}

bar-capacity-width = 10
animation-charging-0 = " "
animation-charging-1 = " "
animation-charging-2 = " "
animation-charging-3 = " "
animation-charging-4 = " "
animation-charging-framerate = 750

[module/dot-battery]
type = internal/battery
; Use $ ls -1 /sys/class/power_supply/
battery = BAT0
adapter = AC
full-at = 96
poll-interval = 5
time-format = %H:%M

format-charging    = %{F#E24125}<animation-charging>%{F-}<label-charging>
format-discharging = <ramp-capacity><label-discharging>
format-full        = <ramp-capacity><label-full>

label-charging = %percentage%%
label-discharging = %time%
label-full = %percentage%%

ramp-capacity-0 = 
ramp-capacity-1 = 
ramp-capacity-2 = 
ramp-capacity-0-foreground = ${colors.red}
ramp-capacity-1-foreground = ${colors.red}
ramp-capacity-foreground   = ${colors.red}

animation-charging-0 = ""
animation-charging-1 = ""
animation-charging-2 = ""
animation-charging-framerate = 750


;;;;;;;;;;
;; MENU ;;
;;;;;;;;;;
[module/menu]
type = custom/menu
format-spacing = 1
label-open = "    "
label-close = "    "
label-close-foreground = ${colors.urgent}
label-separator = " | "
# Top level
menu-0-0 = "  "
menu-0-0-exec = menu-open-1
menu-0-1 = "  "
menu-0-1-exec = menu-open-2
menu-0-2 = "    |"
menu-0-2-exec = menu-open-3
# 1
menu-1-0 = "  "
menu-1-0-exec = menu-open-0
menu-1-0-foreground = ${colors.urgent}
menu-1-1 = "  "
menu-1-1-exec = exo-open --launch WebBrowser
menu-1-2 = "  "
menu-1-2-exec = exo-open --launch TerminalEmulator
menu-1-3 = "    |"
menu-1-3-exec = exo-open --launch FileManager
# 2
menu-2-0 = "  "
menu-2-0-exec = menu-open-0
menu-2-0-foreground = ${colors.urgent}
menu-2-1 = "  "
menu-2-1-exec = termite --exec=pacli &
menu-2-2 = "  "
menu-2-2-exec = xfce4-settings-manager &
menu-2-3 = "    |"
menu-2-3-exec = pavucontrol &
# 3
menu-3-0 = "  "
menu-3-0-exec = menu-open-0
menu-3-0-foreground = ${colors.urgent}
menu-3-1 = "   "
menu-3-1-exec = i3lock-fancy -p -f Ubuntu &
menu-3-2 = "   "
menu-3-2-exec = systemctl reboot
menu-3-3 = "      |"
menu-3-3-exec = systemctl poweroff


;;;;;;;;;;;;;;;;;;;;
;; Compton Toggle ;;
;;;;;;;;;;;;;;;;;;;;
[module/compton_toggle]
type = custom/script
tail = true
label = %output%
click-left = toggle.sh -c -tg &
exec = toggle.sh -c
format = <label>


;;;;;;;;;;;;;;;
;; KEYBOARD  ;;
;;;;;;;;;;;;;;;
[module/keyboard]
type = internal/xkeyboard
blacklist-0 = num lock
blacklist-1 = scroll lock
format = <label-layout>
format-padding = 1
label-layout = %{A1:mintlocale & disown:} %{A3:mintlocale & disown:} %layout%%{A} %{A}


;;;;;;;;;;;;;;
;; ETHERNET ;;
;;;;;;;;;;;;;;
[module/wired-network]
type = internal/network
interface =
format-connected = <label-connected>
format-disconnected = <label-disconnected>
label-connected =  %local_ip%
format-connected-foreground = ${colors.purple}


;;;;;;;;;;;;;;
;; REDSHIFT ;;
;;;;;;;;;;;;;;
[module/redshift]
type = custom/script
tail = true
exec = toggle.sh -r
label = %output%
click-left = toggle.sh -r -tg &


;;;;;;;;;;;;;;;;
;; FILESYSTEM ;;
;;;;;;;;;;;;;;;;
[module/filesystem]
type = internal/fs
format-mounted = <label-mounted>
label-mounted = %mountpoint% : %percentage_free%%
mount-0 = /
interval = 1200
fixed-values = false
spacing = 2
label-mounted-foreground = ${colors.yellow}


;;;;;;;;;
;; MPD ;;
;;;;;;;;;
[module/mpd]
type = internal/mpd
format-online = %{O60}%{F#E24125}%{F-}%{u#E24125 +u}<label-song>%{-u} %{F#E24125}<icon-prev><icon-stop><toggle><icon-next>%{F-}
label-song-maxlen = 30
label-song = %title% ~ %artist%
format-offline = <label-offline>
bar-progress-format = %{+o +u}%fill%%{-o -u}%indicator%%{+o +u}%empty%%{-u -o}
label-offline = ""
icon-play = 
icon-pause = 
icon-stop = 
icon-prev = 
icon-next = 
icon-random = 
icon-repeat = 
toggle-on-foreground =
toggle-off-foreground = #55
;bar-progress-width = 35
;bar-progress-indicator = █
;bar-progress-fill = █
;bar-progress-empty = ▒
;bar-progress-empty-font = 2
;bar-progress-indicator-font = 2
;bar-progress-fill-font = 2
;bar-progress-fill-foreground = #bb
;bar-progress-empty-foreground = #44
;bar-progress-indicator-foreground = #A85659


;;;;;;;;;;
;; WIFI ;;
;;;;;;;;;;
[module/wireless-network]
type = internal/network
interface =

format-connected = <ramp-signal>  <label-connected>
format-packetloss = <animation-packetloss>
label-connected = " %local_ip% "
ramp-signal-0 = 
ramp-signal-1 = 
ramp-signal-2 = 
ramp-signal-3 = 
ramp-signal-4 = 
ramp-signal-5 = 
ramp-signal-0-foreground = #F03051
ramp-signal-1-foreground = #F07127
ramp-signal-2-foreground = #F9CE56
ramp-signal-3-foreground = ${colors.purple}
ramp-signal-4-foreground = ${colors.purple}
ramp-signal-5-foreground = ${colors.purple}
animation-packetloss-0 = ⚠
animation-packetloss-1 = 📶
animation-packetloss-0-foreground = #ffa64c
animation-packetloss-1-foreground = #000000
animation-packetloss-framerate = 500


;;;;;;;;;;;;;;;;
;; VOLUME BAR ;;
;;;;;;;;;;;;;;;;
[module/volume-bar]
type = internal/volume
bar-volume-font = 2
bar-volume-width = 20
format-volume = <label-volume><bar-volume>
label-volume = "  "
label-muted = "   mute"
label-volume-foreground = #B6C2E7
format-muted-foreground = #E76BB4
bar-volume-foreground-0 = #92A3F7
bar-volume-foreground-1 = #92A3F7
bar-volume-foreground-2 = #6BB3E7
bar-volume-foreground-3 = #6BB3E7
bar-volume-foreground-4 = #6BB3E7
bar-volume-foreground-5 = #6BE7D8
bar-volume-foreground-6 = #6BE7D8
bar-volume-gradient = true
bar-volume-indicator = |
bar-volume-fill = •
bar-volume-empty = ·
bar-volume-empty-foreground = #666666

